1. Technical Field
The present invention relates generally to remote method invocation and more particularly to a method, system and program product for invoking remote methods without having to modify the application calling a remote method when the remote method changes.
2. Related Art
In today's computing environment, it is desirable that systems be able to communicate with one another even if the applications on these systems use different programming languages. Communication between different applications on different servers over a network is often done via a process known generically as remote method invocation. Remote method invocation is especially applicable in the realm of object-oriented programming. Today there are several protocols that allow direct communication between different object-oriented applications across a network. Examples include Common Object Request Broker Architecture (CORBA) and Java Remote Method Invocation (RMI).
In enabling communications between different applications on different servers, both CORBA and Java RMI pre-define remote objects and remote methods, which are shared by the applications. However, remote methods are sometimes added, modified and deleted. In addition, remote objects may be added or removed. When these changes occur, the applications using the remote objects must be modified, tested, and redeployed together to make sure that they perform correctly with the changed remote methods and remote objects. The process of modifying, testing and redeploying code in response to changes in the remote objects and remote methods may be costly in terms of both programmer time and in time that the affected systems must be off-line in order to complete the process.
What is needed is a method of invoking a remote method that does not require the applications to be changed in response to a change in the remote method.